configure
data/gnome-shell.desktop
data/gnome-shell.desktop.in
-data/gnome-shell-clock-preferences.desktop
-data/gnome-shell-clock-preferences.desktop.in
data/gschemas.compiled
data/org.gnome.shell.gschema.xml
data/org.gnome.shell.gschema.valid
src/Makefile.in
src/gnomeshell-taskpanel
src/gnome-shell
-src/gnome-shell-clock-preferences
src/run-js-test
src/test-recorder
src/test-recorder.ogg
desktopdir=$(datadir)/applications
-desktop_DATA = gnome-shell.desktop gnome-shell-clock-preferences.desktop
+desktop_DATA = gnome-shell.desktop
# We substitute in bindir so it works as an autostart
# file when built in a non-system prefix
%.desktop:%.desktop.in
$(AM_V_GEN) sed s/^_// < $< > $@ || rm $@
-dist_pkgdata_DATA = clock-preferences.ui
-
imagesdir = $(pkgdatadir)/images
dist_images_DATA = \
close-black.svg \
EXTRA_DIST = \
gnome-shell.desktop.in.in \
- gnome-shell-clock-preferences.desktop.in.in \
$(menu_DATA) \
$(gconfschema_DATA) \
$(shaders_DATA) \
CLEANFILES = \
gnome-shell.desktop.in \
- gnome-shell-clock-preferences.desktop.in \
$(desktop_DATA) \
$(gsettings_SCHEMAS) \
gschemas.compiled
+++ /dev/null
-<?xml version="1.0"?>
-<interface domain="gnome-shell">
- <requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy project-wide -->
- <object class="GtkDialog" id="prefs-dialog">
- <property name="border_width">5</property>
- <property name="title" translatable="yes">Clock Preferences</property>
- <property name="window_position">center</property>
- <property name="type_hint">normal</property>
- <property name="has_separator">False</property>
- <child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkVBox" id="vbox1">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">18</property>
- <child>
- <object class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="left_padding">12</property>
- <property name="right_padding">6</property>
- <child>
- <object class="GtkHBox" id="hbox1">
- <property name="visible">True</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkRadioButton" id="12hr_radio">
- <property name="label" translatable="yes">_12 hour format</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="24hr_radio">
- <property name="label" translatable="yes">_24 hour format</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <property name="group">12hr_radio</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label_format">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Clock Format</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <object class="GtkAlignment" id="alignment2">
- <property name="visible">True</property>
- <property name="top_padding">6</property>
- <property name="left_padding">12</property>
- <child>
- <object class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="orientation">vertical</property>
- <property name="spacing">6</property>
- <child>
- <object class="GtkCheckButton" id="date_check">
- <property name="label" translatable="yes">Show the _date</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="seconds_check">
- <property name="label" translatable="yes">Show seco_nds</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="label">
- <object class="GtkLabel" id="label_display">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Panel Display</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="padding">6</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">end</property>
- <child>
- <placeholder/>
- </child>
- <child>
- <object class="GtkButton" id="prefs_close_button">
- <property name="label">gtk-close</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- </object>
- </child>
- <action-widgets>
- <action-widget response="0">prefs_close_button</action-widget>
- </action-widgets>
- </object>
-</interface>
+++ /dev/null
-[Desktop Entry]
-_Name=Clock
-_Comment=Customize the panel clock
-Exec=@bindir@/gnome-shell-clock-preferences
-Icon=gnome-panel-clock
-Terminal=false
-Type=Application
-StartupNotify=true
-Categories=GNOME;GTK;Settings;DesktopSettings;
-OnlyShowIn=GNOME;
-X-GNOME-ShellOnly=true
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=gnome-shell
-X-GNOME-Bugzilla-Component=general
-X-GNOME-Bugzilla-Version=@VERSION@
<schema id="org.gnome.shell.clock" path="/apps/gnome-shell/clock/"
gettext-domain="@GETTEXT_PACKAGE@">
- <key name="format" type="s">
- <default l10n="messages" context="hour_format">
- <!-- TRANSLATORS: This is the default hour format, choose ONLY '12-hour' or '24-hour'. -->
- "12-hour"
- </default>
- <_summary>Hour format</_summary>
- <_description>
- This key specifies the hour format used by the panel clock.
- Possible values are "12-hour", "24-hour", "unix" and "custom". If set
- to "unix", the clock will display time in seconds since Epoch,
- i.e. 1970-01-01. If set to "custom", the clock will display time
- according to the format specified in the custom_format key. Note that
- if set to either "unix" or "custom", the show_date and show_seconds
- keys are ignored.
- </_description>
- <choices>
- <choice value="12-hour"/>
- <choice value="24-hour"/>
- <choice value="unix"/>
- <choice value="custom"/>
- </choices>
- </key>
- <key name="custom-format" type="s">
- <default>''</default>
- <_summary>Custom format of the clock</_summary>
- <_description>
- This key specifies the format used by the panel clock when the format
- key is set to "custom". You can use conversion specifiers understood
- by strftime() to obtain a specific format. See the strftime() manual
- for more information.
- </_description>
- </key>
<key name="show-seconds" type="b">
<default>false</default>
<_summary>Show time with seconds</_summary>
<_description>
- If true and format is either "12-hour" or "24-hour", display seconds in time.
+ If true, display seconds in time.
</_description>
</key>
<key name="show-date" type="b">
<default>false</default>
<_summary>Show date in clock</_summary>
<_description>
- If true and format is either "12-hour" or "24-hour",
- display date in the clock, in addition to time.
+ If true, display date in the clock, in addition to time.
</_description>
</key>
</schema>
misc/telepathy.js \
misc/utils.js \
perf/core.js \
- prefs/clockPreferences.js \
ui/altTab.js \
ui/appDisplay.js \
ui/appFavorites.js \
+++ /dev/null
-/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
-
-const Gio = imports.gi.Gio;
-const GLib = imports.gi.GLib;
-const Gtk = imports.gi.Gtk;
-
-const Lang = imports.lang;
-const Signals = imports.signals;
-
-const Gettext = imports.gettext;
-
-const FORMAT_KEY = 'format';
-const SHOW_DATE_KEY = 'show-date';
-const SHOW_SECONDS_KEY = 'show-seconds';
-
-
-function ClockPreferences(uiFile) {
- this._init(uiFile);
-};
-
-ClockPreferences.prototype = {
- _init: function(uiFile) {
- let builder = new Gtk.Builder();
- builder.add_from_file(uiFile);
-
- this._dialog = builder.get_object('prefs-dialog');
- this._dialog.connect('response', Lang.bind(this, this._onResponse));
-
- this._12hrRadio = builder.get_object('12hr_radio');
- this._24hrRadio = builder.get_object('24hr_radio');
- this._dateCheck = builder.get_object('date_check');
- this._secondsCheck = builder.get_object('seconds_check');
-
- delete builder;
-
- this._settings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
- this._notifyId = this._settings.connect('changed',
- Lang.bind(this,
- this._updateDialog));
-
- this._12hrRadio.connect('toggled', Lang.bind(this,
- function() {
- let format = this._12hrRadio.active ? '12-hour' : '24-hour';
- this._settings.set_string(FORMAT_KEY, format);
- }));
- this._dateCheck.connect('toggled', Lang.bind(this,
- function() {
- this._settings.set_boolean(SHOW_DATE_KEY,
- this._dateCheck.active);
- }));
- this._secondsCheck.connect('toggled', Lang.bind(this,
- function() {
- this._settings.set_boolean(SHOW_SECONDS_KEY,
- this._secondsCheck.active);
- }));
-
- this._updateDialog();
- },
-
- show: function() {
- this._dialog.show_all();
- },
-
- _updateDialog: function() {
- let format = this._settings.get_string(FORMAT_KEY);
- this._12hrRadio.active = (format == "12-hour");
- this._24hrRadio.active = (format == "24-hour");
-
- this._dateCheck.active = this._settings.get_boolean(SHOW_DATE_KEY);
- this._secondsCheck.active = this._settings.get_boolean(SHOW_SECONDS_KEY);
- },
-
- _onResponse: function() {
- this._dialog.destroy();
- this._settings.disconnect(this._notifyId);
- this.emit('destroy');
- }
-};
-Signals.addSignalMethods(ClockPreferences.prototype);
-
-function main(params) {
- if ('progName' in params)
- GLib.set_prgname(params['progName']);
- if ('localeDir' in params)
- Gettext.bindtextdomain('gnome-shell', params['localeDir']);
-
- Gtk.init(null, null);
-
- let clockPrefs = new ClockPreferences(params['uiFile']);
- clockPrefs.connect('destroy',
- function() {
- Gtk.main_quit();
- });
- clockPrefs.show();
-
- Gtk.main();
-}
if (Config.HAVE_BLUETOOTH)
STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
-const CLOCK_FORMAT_KEY = 'format';
-const CLOCK_CUSTOM_FORMAT_KEY = 'custom-format';
+// in org.gnome.desktop.interface
+const CLOCK_FORMAT_KEY = 'clock-format';
+
+// in org.gnome.shell.clock
const CLOCK_SHOW_DATE_KEY = 'show-date';
const CLOCK_SHOW_SECONDS_KEY = 'show-seconds';
}
ClockButton.prototype = {
- __proto__: PanelMenu.Button.prototype,
-
_init: function() {
- PanelMenu.Button.prototype._init.call(this, St.Align.START);
- this.menu.addAction(_("Preferences"), Lang.bind(this, this._onPrefs));
+ this.actor = new St.Bin({ style_class: 'panel-button',
+ reactive: true,
+ can_focus: true,
+ x_fill: true,
+ y_fill: false,
+ track_hover: true });
+ this.actor._delegate = this;
+ this.actor.connect('button-press-event',
+ Lang.bind(this, this._toggleCalendar));
this._clock = new St.Label();
this.actor.set_child(this._clock);
this._calendarPopup = null;
+ this._desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
this._clockSettings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
+
+ this._desktopSettings.connect('changed', Lang.bind(this, this._updateClock));
this._clockSettings.connect('changed', Lang.bind(this, this._updateClock));
// Start the clock
this._updateClock();
},
- _onButtonPress: function(actor, event) {
- let button = event.get_button();
- let menuShowing = this.menu.isOpen;
- let calendarShowing = this._calendarPopup && this._calendarPopup.isOpen;
-
- if (menuShowing || (button == 3 && !calendarShowing))
- this.menu.toggle();
- else
- this._toggleCalendar();
- return true;
- },
-
closeCalendar: function() {
if (!this._calendarPopup || !this._calendarPopup.isOpen)
return;
this.actor.add_style_pseudo_class('pressed');
},
- _onPrefs: function() {
- let args = ['gnome-shell-clock-preferences'];
- let p = new Shell.Process({ args: args });
-
- p.run();
- },
-
_toggleCalendar: function() {
if (this._calendarPopup == null) {
this._calendarPopup = new CalendarPopup();
this._calendarPopup.actor.hide();
}
- if (this.menu.isOpen && !this._calendarPopup.isOpen) {
- this.menu.close();
- return;
- }
-
if (!this._calendarPopup.isOpen)
this.openCalendar();
else
},
_updateClock: function() {
- let format = this._clockSettings.get_string(CLOCK_FORMAT_KEY);
+ let format = this._desktopSettings.get_string(CLOCK_FORMAT_KEY);
let showDate = this._clockSettings.get_boolean(CLOCK_SHOW_DATE_KEY);
let showSeconds = this._clockSettings.get_boolean(CLOCK_SHOW_SECONDS_KEY);
let clockFormat;
switch (format) {
- case 'unix':
- // force updates every second
- showSeconds = true;
- clockFormat = '%s';
- break;
- case 'custom':
- // force updates every second
- showSeconds = true;
- clockFormat = this._clockSettings.get_string(CLOCK_CUSTOM_FORMAT_KEY);
- break;
- case '24-hour':
+ case '24h':
if (showDate)
/* Translators: This is the time format with date used
in 24-hour mode. */
clockFormat = showSeconds ? _("%a %R:%S")
: _("%a %R");
break;
- case '12-hour':
+ case '12h':
default:
if (showDate)
/* Translators: This is a time format with date used
this._clockButton = new ClockButton();
this._centerBox.add(this._clockButton.actor, { y_fill: true });
- let clockMenuManager = new PopupMenu.PopupMenuManager(this);
- clockMenuManager.addMenu(this._clockButton.menu);
-
/* right */
// System status applets live in statusBox, while legacy tray icons
data/gnome-shell.desktop.in.in
-data/gnome-shell-clock-preferences.desktop.in.in
data/org.gnome.shell.gschema.xml.in
data/org.gnome.accessibility.magnifier.gschema.xml.in
-[type: gettext/glade]data/clock-preferences.ui
js/ui/appDisplay.js
js/ui/appFavorites.js
js/ui/dash.js
.AUTOPARALLEL:
-bin_SCRIPTS = gnome-shell gnome-shell-clock-preferences
+bin_SCRIPTS = gnome-shell
gnome-shell: gnome-shell.in
$(AM_V_GEN) sed -e "s|@MUTTER_BIN_DIR[@]|$(MUTTER_BIN_DIR)|" \
CLEANFILES += gnome-shell
EXTRA_DIST += gnome-shell.in
-gnome-shell-clock-preferences: gnome-shell-clock-preferences.in
- $(AM_V_GEN) sed -e "s|@datadir[@]|$(datadir)|" \
- -e "s|@pkgdatadir[@]|$(pkgdatadir)|" \
- -e "s|@localedir[@]|$(datadir)/locale|" \
- -e "s|@GJS_CONSOLE[@]|$(GJS_CONSOLE)|" \
- $< > $@ && chmod a+x $@
-CLEANFILES += gnome-shell-clock-preferences
-EXTRA_DIST += gnome-shell-clock-preferences.in
-
include Makefile-gdmuser.am
include Makefile-st.am
include Makefile-tray.am
+++ /dev/null
-#!/bin/sh
-
-if [ -f "$0.in" ]
-then
- scriptDir="`dirname $0`"
- uiDir="$scriptDir/../data"
- jsDir="$scriptDir/../js"
- schemaDir="$scriptDir/../data"
-else
- uiDir="@pkgdatadir@"
- jsDir="@pkgdatadir@/js"
- schemaDir="@datadir@/glib-2.0/schemas"
-fi
-
-progName="`basename $0`"
-localeDir="@localedir@"
-uiFile="$uiDir/clock-preferences.ui"
-export GJS_PATH="$jsDir"
-export GSETTINGS_SCHEMA_DIR="$schemaDir"
-
-@GJS_CONSOLE@ --js-version 1.8 -c "const ClockPreferences = imports.prefs.clockPreferences;
-ClockPreferences.main({ progName: '$progName',
- uiFile: '$uiFile',
- localeDir: '$localeDir' });"